package com.yunhe.portal.service;
import com.yunhe.common.exception.ArgumentErrorException;
import com.yunhe.common.model.mybatis.PageResult;
import com.yunhe.portal.domain.DataNoticeInfo;
import com.yunhe.portal.model.NoticeInfoQueryCondition;
import com.yunhe.portal.model.PhoneQueryCondition;
import com.yunhe.portal.model.PublishStatus;

/**
 * @description 公告表
 * @author misty
 * @date 2021-10-19
 */
public interface DataNoticeInfoService {

    /**
     * 新增
     */
    public void createDataNoticeInfo (DataNoticeInfo dataNoticeInfo) throws ArgumentErrorException;

    /**
     * 删除
     */
    public int deleteDataNoticeInfo(int id);

    /**
     * 更新
     */
    public void updateDataNoticeInfo(DataNoticeInfo dataNoticeInfo) throws ArgumentErrorException;

    /**
     * 根据主键 id 查询
     */
    public DataNoticeInfo findDataNoticeInfoById(int id);


    void setPublishStatus(PublishStatus publishStatus) throws ArgumentErrorException;

    PageResult findDataNoticeInfoByCondition(NoticeInfoQueryCondition noticeInfoQueryCondition) throws ArgumentErrorException;

    void publishTimedNotices();


    PageResult findAppNotice(PhoneQueryCondition phoneQueryCondition);

    PageResult findWeChatNotice(PhoneQueryCondition phoneQueryCondition);

    DataNoticeInfo findPhoneDataNoticeInfoById(int id);
}